package com.sws.push.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.sws.common.annotation.Excel;
import com.sws.common.core.domain.BaseEntity;

/**
 * 客户画像对象 ry_customer_profile
 *
 * @author ruoyi
 * @date 2025-06-24
 */
public class RyCustomerProfile extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 序号 */
    private Long id;

    /** 关联customer.id */
    @Excel(name = "关联customer.id")
    private Long customerId;

    /** 消费能力(1低,2中,3高) */
    @Excel(name = "消费能力(1低,2中,3高)")
    private Long consumptionLevel;

    /** 肤质偏好(0油性/1干性/2混合) */
    @Excel(name = "肤质偏好(0油性/1干性/2混合)")
    private Long preferenceSkin;

    /** 项目偏好(0美白/1抗衰/2补水) */
    @Excel(name = "项目偏好(0美白/1抗衰/2补水)")
    private Long preferenceProject;

    /** 过敏成分 */
    @Excel(name = "过敏成分")
    private String sensitivity;

    /** 产品复购率(%) */
    @Excel(name = "产品复购率(%)")
    private BigDecimal productRepurchaseRate;

    /** 价格敏感度(0-5,0为最低敏感,5为最高敏感) */
    @Excel(name = "价格敏感度(0-5,0为最低敏感,5为最高敏感)")
    private Long priceSensitivity;

    /** 推销抗性指数(0-100,越高表示抗性越强) */
    @Excel(name = "推销抗性指数(0-100,越高表示抗性越强)")
    private Long salesResistance;

    /** 皮肤问题图谱(存储分析结果JSON) */
//    @Excel(name = "皮肤问题图谱(存储分析结果为JSON样式)")
//    private String skinProblemMap;

    /** 到店规律(0较少 1正常 2频繁 3忠实顾客) */
    @Excel(name = "到店规律(0较少 1正常 2频繁 3忠实顾客)")
    private Long visitFrequency;

    /** 删除标志(0存在,1删除) */
    private Long delFlag;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public void setCustomerId(Long customerId)
    {
        this.customerId = customerId;
    }

    public Long getCustomerId()
    {
        return customerId;
    }

    public void setConsumptionLevel(Long consumptionLevel)
    {
        this.consumptionLevel = consumptionLevel;
    }

    public Long getConsumptionLevel()
    {
        return consumptionLevel;
    }

    public void setPreferenceSkin(Long preferenceSkin)
    {
        this.preferenceSkin = preferenceSkin;
    }

    public Long getPreferenceSkin()
    {
        return preferenceSkin;
    }

    public void setPreferenceProject(Long preferenceProject)
    {
        this.preferenceProject = preferenceProject;
    }

    public Long getPreferenceProject()
    {
        return preferenceProject;
    }

    public void setSensitivity(String sensitivity)
    {
        this.sensitivity = sensitivity;
    }

    public String getSensitivity()
    {
        return sensitivity;
    }

    public void setProductRepurchaseRate(BigDecimal productRepurchaseRate)
    {
        this.productRepurchaseRate = productRepurchaseRate;
    }

    public BigDecimal getProductRepurchaseRate()
    {
        return productRepurchaseRate;
    }

    public void setPriceSensitivity(Long priceSensitivity)
    {
        this.priceSensitivity = priceSensitivity;
    }

    public Long getPriceSensitivity()
    {
        return priceSensitivity;
    }

    public void setSalesResistance(Long salesResistance)
    {
        this.salesResistance = salesResistance;
    }

    public Long getSalesResistance()
    {
        return salesResistance;
    }

//    public void setSkinProblemMap(String skinProblemMap)
//    {
//        this.skinProblemMap = skinProblemMap;
//    }

//    public String getSkinProblemMap()
//    {
//        return skinProblemMap;
//    }

    public void setVisitFrequency(Long visitFrequency)
    {
        this.visitFrequency = visitFrequency;
    }

    public Long getVisitFrequency()
    {
        return visitFrequency;
    }

    public void setDelFlag(Long delFlag)
    {
        this.delFlag = delFlag;
    }

    public Long getDelFlag()
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("customerId", getCustomerId())
            .append("consumptionLevel", getConsumptionLevel())
            .append("preferenceSkin", getPreferenceSkin())
            .append("preferenceProject", getPreferenceProject())
            .append("sensitivity", getSensitivity())
            .append("productRepurchaseRate", getProductRepurchaseRate())
            .append("priceSensitivity", getPriceSensitivity())
            .append("salesResistance", getSalesResistance())
//            .append("skinProblemMap", getSkinProblemMap())
            .append("visitFrequency", getVisitFrequency())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("delFlag", getDelFlag())
            .toString();
    }
}
